<?php
class OfertasController extends AppController {

  var $name = 'Ofertas';

  var $permissao = array(
    'admin' => array('admin_listar', 'admin_view', 'admin_add', 'admin_delete', 'admin_edit')
  );

  function admin_listar() {
    $this->set('ofertas', $this->Oferta->find('all'));
  }

  function admin_view($id = null) {
    $this->Oferta->id = $id;
    $this->set('oferta', $this->Oferta->read());
  }

  function admin_add(){
    if (!empty($this->data)) {debug($this->data);
      if ($this->Oferta->save($this->data)) {
        $this->Session->setFlash('Oferta salvo com sucesso.');
        if($this->data['Oferta']['ic_todos_produtos'])
          $this->redirect(array('action' => 'listar', 'admin' => true));
        else
          $this->redirect(array('admin' => true, 'action' => 'lista_produtos', $this->Oferta->id));
      }
    }

    $tipos = $this->Oferta->TipoOferta->find('list', array('fields' => array('id', 'nome'), 'conditions' => array('ativo' => true)));
    $this->set(compact('tipos'));
  }

  function admin_delete($id) {
    $this->Oferta->delete($id);
    $this->Session->setFlash('A oferta com o código: '.$id.' foi apagada.');
    $this->redirect(array('action'=>'listar', 'admin' => true));
  }

  function admin_edit($id = null) {
    $this->Oferta->id = $id;
    if (empty($this->data)) {
      $this->data = $this->Oferta->read();
    } else {
      if ($this->Oferta->save($this->data)) {
        $this->Session->setFlash('Oferta atualizada.');
        if($this->data['Oferta']['ic_todos_produtos'])
          $this->redirect(array('action' => 'listar', 'admin' => true));
        else
          $this->redirect(array('admin' => true, 'action' => 'lista_produtos', $this->Oferta->id));
      }
    }

    $tipos = $this->Oferta->TipoOferta->find('list', array('fields' => array('id', 'nome'), 'conditions' => array('ativo' => true)));
    $this->set(compact('tipos'));
  }

  function admin_lista_produtos($oferta_id){
    if (!empty($this->data)) {
      //Salvar os produtos selecionados na tabela ofertas_produtos
      if ($this->Oferta->save($this->data)) {
        $this->Session->setFlash('Oferta criada com sucesso!');
        $this->redirect(array('action' => 'listar', 'admin' => true));
      }
    }

    $produtos = $this->Oferta->Produto->find('list', array('fields' => array('id', 'nome')));
    $this->set(compact('produtos', 'oferta_id'));
  }

}
?>
